package com.fsm.demo.service;

import com.fsm.common.easyexcel.dto.TSRoleVo;
import com.fsm.common.tools.Result.Result;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

public interface EasyExcelService {

    /**
     * 配置表格信息
     *
     * @param tsRoleVo
     * @return
     */
    Result configurationExcel(TSRoleVo tsRoleVo, HttpServletResponse response) throws Exception;

    /**
     * 最简单的写
     *
     * @param response
     * @return
     */
    Result demo1Excel(HttpServletResponse response) throws Exception;

    /**
     * 排除/指定模型中的属性字段
     *
     * @param response
     * @return
     */
    Result demo2Excel(HttpServletResponse response) throws Exception;

    /**
     * 插入指定的列
     *
     * @param response
     * @return
     */
    Result demo3Excel(HttpServletResponse response) throws Exception;

    /**
     * 复杂头数据写入
     *
     * @param response
     * @return
     */
    Result demo4Excel(HttpServletResponse response) throws Exception;

    /**
     * 写到Excel的Sheet中
     *
     * @param response
     * @return
     */
    Result demo5Excel(HttpServletResponse response) throws Exception;

    /**
     * 日期/数字类型格式化
     *
     * @param response
     * @return
     */
    Result demo6Excel(HttpServletResponse response) throws Exception;

    /**
     * 写入图片到Excel
     *
     * @param response
     * @return
     */
    Result demo7Excel(HttpServletResponse response) throws Exception;

    /**
     * 通过注解形式设置写入Excel样式
     *
     * @param response
     * @return
     */
    Result demo8Excel(HttpServletResponse response) throws Exception;

    /**
     * 合并单元格
     *
     * @param response
     * @return
     */
    Result demo9Excel(HttpServletResponse response) throws Exception;

    /**
     * 自定义转换器
     *
     * @param response
     * @return
     */
    Result demo10Excel(HttpServletResponse response) throws Exception;

    /**
     * 导入转换成List<List<String>>
     *
     * @param request
     * @return
     */
    Result demo11Excel(HttpServletRequest request) throws Exception;

}
